package com.ruoyi.labdata.mapper;

import java.util.List;
import com.ruoyi.labdata.domain.LabOrgnizationSecond;

/**
 * 二级机构信息Mapper接口
 * 
 * @author winner pan
 * @date 2022-02-05
 */
public interface LabOrgnizationSecondMapper 
{
    /**
     * 查询二级机构信息
     * 
     * @param orgId 二级机构信息ID
     * @return 二级机构信息
     */
    public LabOrgnizationSecond selectLabOrgnizationSecondById(Long orgId);

    /**
     * 查询二级机构信息列表
     * 
     * @param labOrgnizationSecond 二级机构信息
     * @return 二级机构信息集合
     */
    public List<LabOrgnizationSecond> selectLabOrgnizationSecondList(LabOrgnizationSecond labOrgnizationSecond);

    /**
     * 新增二级机构信息
     * 
     * @param labOrgnizationSecond 二级机构信息
     * @return 结果
     */
    public int insertLabOrgnizationSecond(LabOrgnizationSecond labOrgnizationSecond);

    /**
     * 修改二级机构信息
     * 
     * @param labOrgnizationSecond 二级机构信息
     * @return 结果
     */
    public int updateLabOrgnizationSecond(LabOrgnizationSecond labOrgnizationSecond);

    /**
     * 删除二级机构信息
     * 
     * @param orgId 二级机构信息ID
     * @return 结果
     */
    public int deleteLabOrgnizationSecondById(Long orgId);
    
    public LabOrgnizationSecond getOrgstatsticData(Long orgId);
    
    public List<LabOrgnizationSecond> getDirectSubordinateStatistics(Long orgId);
    
    public List<LabOrgnizationSecond> getThirdSubordinateStatistics(Long orgId);
    public List<LabOrgnizationSecond> getUnionStatsticData(Long orgId);
    /**
     * 批量删除二级机构信息
     * 
     * @param orgIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteLabOrgnizationSecondByIds(Long[] orgIds);
    public List<LabOrgnizationSecond> getPlatformSubordinateStatistics(Long orgId);
}
